#include <iostream>
#include <memory>

#include <Model/FibonacciNumberCalculator.hpp>
#include <Presentation/IoManager.hpp>


int main()
{
  using namespace Fibonacci;

  std::shared_ptr<Model::FibonacciNumberCalculator> calculator(
      new Model::FibonacciNumberCalculator());

  std::shared_ptr<Presentation::IoManager> ioManager(
      new Presentation::IoManager(
          std::cin,
          std::cout,
          calculator));

  ioManager->run();
}
